リポジトリを作成する (git init)
この記事では実際に Git のリポジトリを作成していきます。リポジトリ (Repository) は、Git でバージョン管理をするワークスペースのことを指します。ファイルをリポジトリに含めることでバージョンの管理ができます。早速作業を開始しましょう。
リポジトリを作成する
1. リポジトリのトップとなるディレクトリを作成する
今回は git-sample というディレクトリを作成します。作業場所は任意の場所で結構です。$ cd ${ディレクトリのパス} で移動しましょう。カレントディレクトリを調べたいときは $ pwd を実行しましょう。
code: ディレクトリの作成.sh
$ mkdir git-sample
2. リポジトリの作成 (初期化)
作成したディレクトリをGit の管理下にするため、以下のコマンドを実行しリポジトリを作成します。
code: リポジトリの初期化.sh
$ cd git-sample
$ git init
3. リポジトリが作成できたか確認する
リポジトリができると .git ディレクトリ が生成されます。Git はこの中でバージョン管理を行いますから、このファイルは間違っても消さないようにしましょう。また、.git は先頭に . がついているので隠しディレクトリです。隠しディレクトリも表示するには以下のコマンドを実行します。実行前に git-sample がカレントディレクトリであるか確認してください。
code: リポジトリが作成できたかの確認.sh
$ ls -a
実行すると以下のような表示になれば無事に生成されています。
code: 無事作成されているときの表示.sh
$ ls -a
. .. .git
リポジトリの管理範囲
前節ではGit 操作でリポジトリを作成しました。このリポジトリはどこまでバージョンの管理をしてくれるのでしょうか?
簡潔に答えると、.gitディレクトリが存在する階層以下全てです。具体的に説明します。git-sample の1階層上にあるparent はもちろん Git の管理下ではありません。同じく git-sample 同階層の brother も管理下ではありません。git-sample リポジトリが管理しているのは git-sample 以下となります。child, README.md はもちろん管理対象ですし、 child_file.txt も管理対象となります。
code: リポジトリの管理範囲
parent <- 範囲外
├ git-sample <- 範囲内
│ ├ .git <- 範囲内
│ ├ child <- 範囲内
│ │ └ child_file.txt <- 範囲内
│ └ README.md <- 範囲内
└ brother <- 範囲外
Git 操作 (コマンド) はどこで実行できるのか
リポジトリが管理しているディレクトリであればどこで実行しても問題ありません。特にこたわりがなければ .git が存在するディレクトリで作業すると良いでしょう。
この記事では、リポジトリ作成の操作とリポジトリについて説明しました。次の記事ではバージョン管理をするための最初の操作、git add を説明します。
【TIPS】リポジトリの範囲内にあるファイルやディレクトリを管理しないようにする
自分の環境には必要だけど、他の人には必要ではないファイルなど、Git の管理下におきたくないファイルやディレクトリが出てくることがあると思います。その場合はどうすれば良いのでしょうか?単純にGit 操作の時に除外すれば良いのですが、永久的に必要のないファイルがあった場合はそれも面倒でしょう。そんな時に活躍するのが .gitignore ファイルです。不必要なファイルやディレクトリを指定することで、自動的にGit の管理下から除外してくれます。詳細については特定のファイルを Git の管理下から除外する (.gitignore) をご覧ください。 【TIPS】既に作成されたプロジェクトをGit 管理したい
開発を開始したときはGit 管理する予定はなかったが、次第に必要になるケースも十分に考えられると思います。その場合はどうすれば良いのでしょうか?答えは Git 管理したいトップディレクトリで $ git init を実行することです。そうすることで以後のファイル変更をGit によって管理できます。このケースでリポジトリを作成した場合は速やかにコミット (別記事で詳しく説明) するようにしましょう。
【TIPS】プロジェクトのGit 管理をやめる
ほとんど起こりえませんが、Git 管理自体をやめたいケースを考えましょう。
Git は .git ディレクトリ内でバージョン管理を行います。つまり .git ディレクトリを削除すれば Git 管理をやめることができます。
code: git管理をやめる.sh
$ cd git-sample
$ rm -rf .git